package cn.holy.app.xcddt.app.module


import cn.holy.app.xcddt.repository.module.RecordGroupModule
import cn.holy.app.xcddt.repository.module.RecordModule
import cn.holy.app.xcddt.repository.module.UserModule
import cn.holy.app.xcddt.ui.activity.archive.ArchiveActivity
import cn.holy.app.xcddt.ui.activity.archive.ArchiveDetailActivity
import cn.holy.app.xcddt.ui.activity.base.BaseActivity
import cn.holy.app.xcddt.ui.activity.login.LoginActivity
import cn.holy.app.xcddt.ui.activity.main.MainActivity
import cn.holy.app.xcddt.ui.activity.manager.ManagerActivity
import cn.holy.app.xcddt.ui.activity.manager.ManagerListActivity
import cn.holy.app.xcddt.ui.activity.record.RecordActivity
import cn.holy.app.xcddt.ui.activity.record.StartActivity
import cn.holy.app.xcddt.ui.activity.record.StateActivity
import cn.holy.app.xcddt.ui.activity.record.livedata.module.LocationModule
import cn.holy.app.xcddt.ui.activity.setting.BindActivity
import cn.holy.app.xcddt.ui.activity.setting.RecordUserActivity
import cn.holy.app.xcddt.ui.activity.setting.SettingActivity
import cn.holy.app.xcddt.ui.activity.setting.module.RecordUserModule
import cn.holy.app.xcddt.ui.fragment.ArchiveAllFragment
import cn.holy.app.xcddt.ui.fragment.ArchiveFragment
import cn.holy.app.xcddt.ui.fragment.LocalRecordFragment
import dagger.Component

/**
 * Created by xiong on 18-2-23.
 */

@Component(modules = arrayOf(UserModule::class, RecordModule::class,RecordUserModule::class, RecordGroupModule::class, LocationModule::class))

interface AppComponent {
    fun inject(baseActivity: BaseActivity)

    fun inject(loginActivity: LoginActivity)

    fun inject(activity: RecordActivity)

    fun inject(activity: MainActivity)

    fun inject(managerActivity: ManagerActivity)
    fun inject(managerListActivity: ManagerListActivity)

    fun inject(startActivity: StartActivity)

    fun inject(stateActivity: StateActivity)

    fun inject(archiveActivity: ArchiveActivity)

    fun inject(localRecordFragment: LocalRecordFragment)

    fun inject(allFragment: ArchiveAllFragment)

    fun inject(archiveFragment: ArchiveFragment)
    fun inject(settingActivity: SettingActivity)
    fun inject(bindActivity: BindActivity)
    fun inject(recordUserActivity: RecordUserActivity)
    fun inject(archiveDetailActivity: ArchiveDetailActivity)

}
